AWK তে অ্যারের ব্যবহার খুবই সাধারণ এবং শক্তিশালী হলেও, সাধারণত অ্যারে একমাত্রিক হয়। তবে, AWK তে Multidimensional Arrays ব্যবহার করে আরও জটিল ডেটা স্ট্রাকচার তৈরি করা যায়। AWK তে সত্যিকারের Multidimensional Array নেই, তবে অ্যারে ইনডেক্সে স্ট্রিং কনক্যাটেনেশন ব্যবহার করে এমন অ্যারের মতো আচরণ করা যায়।
AWK তে Multidimensional Array তৈরি করতে, একাধিক ইনডেক্স ব্যবহার করে একটি স্ট্রিং তৈরি করা হয়। সাধারণত, দুটি ইনডেক্স কনক্যাটেনেট করতে আলাদা করার জন্য একটি সেপারেটর (যেমন কমা বা স্পেস) ব্যবহার করা হয়।
awk '{
data[$1, $2] = $3
} END {
for (key in data) {
split(key, indices, SUBSEP)
print "Row:", indices[1], "Column:", indices[2], "Value:", data[key]
}
}' input.txt
ব্যাখ্যা:
data[$1, $2]
একটি অ্যারের ইনডেক্স যা $1
এবং $2
এর মান সংযুক্ত করে তৈরি করা হয়েছে।split(key, indices, SUBSEP)
কমান্ডটি SUBSEP
দ্বারা বিভক্ত করে মূল ইনডেক্সকে পৃথক করে এবং indices
অ্যারেতে সংরক্ষণ করে।SUBSEP
হল AWK এর ডিফল্ট ইনডেক্স সেপারেটর, যা সাধারণত ASCII 28 চর হিসেবে ব্যবহৃত হয়। এটি মাল্টিডাইমেনশনাল অ্যারের ইনডেক্সকে আলাদা রাখতে সাহায্য করে।
AWK তে Multidimensional Array ব্যবহার করে বিভিন্ন ধরনের ডেটা বিশ্লেষণ করা যায়।
awk '{
table[$1, $2] = $3
}
END {
print "Displaying Table:"
for (key in table) {
split(key, indices, SUBSEP)
print "Row:", indices[1], "Column:", indices[2], "Value:", table[key]
}
}' table.txt
এখানে table.txt
ফাইলের প্রথম এবং দ্বিতীয় কলামের মান দিয়ে table
অ্যারের ইনডেক্স তৈরি করা হয়েছে এবং তৃতীয় কলামের মান সেই ইনডেক্সে সংরক্ষণ করা হয়েছে।
awk '{
sales[$1, $2] += $3
}
END {
print "Total Sales Data:"
for (key in sales) {
split(key, indices, SUBSEP)
print "Store:", indices[1], "Product:", indices[2], "Sales:", sales[key]
}
}' sales_data.txt
এখানে sales_data.txt
ফাইলের ডেটা থেকে প্রতিটি স্টোর এবং পণ্যের জন্য বিক্রির যোগফল বের করা হয়েছে।
AWK তে Multidimensional Array এর মাধ্যমে জটিল ডেটা স্ট্রাকচার সংরক্ষণ ও বিশ্লেষণ করা যায়। ইনডেক্স কনক্যাটেনেশন এবং SUBSEP
ব্যবহার করে Multidimensional Array তৈরি করা হয়। এটি বিভিন্ন ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণের কাজ সহজ করে এবং জটিল ডেটা মডেলকে AWK প্রোগ্রামে কার্যকরভাবে হ্যান্ডল করতে সাহায্য করে।
common.read_more